package com.gxa.jjty.core.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.validation.annotation.Validated;

import javax.persistence.*;
import java.util.Date;

/**
 * @author NITRO
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ServerAndTorderVo {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @ApiModelProperty(hidden = true,value = "ID")
    private Long orderId;
    @ApiModelProperty(hidden = true,value = "订单编号")
    private String orderNumber;
    @ApiModelProperty(value = "残疾人id")
    private Long cjrId;
    @ApiModelProperty(hidden = true,value = "订单时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date orderTime;
    @ApiModelProperty(value = "姓名")
    private String orderUser;
    @ApiModelProperty(value = "电话")
    private String orderPhone;
    @ApiModelProperty(value = "服务地址")
    private String orderAddress;
    @ApiModelProperty(value = "服务类型")
    private String serveType;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "预约时间")
    private Date bookTime;
    @ApiModelProperty(hidden = true,value = "服务开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date serveTime;
    @ApiModelProperty(value = "订单价格")
    private Double orderPrice;
    @ApiModelProperty(hidden = true,value = "支付方式")
    private String payType;
    @ApiModelProperty(hidden = true,value = "实际支付")
    private Double payPrice;
    @ApiModelProperty(hidden = true,value = "陪护员名字")
    private String phyName;
    @ApiModelProperty(hidden = true,value = "陪护员id")
    private Long phyId;
    //数据库中不存这个字段的值,需要查陪护员表,然后赋值进去的
    @ApiModelProperty(hidden = true,value = "陪护员电话")
    private transient String phyPhone;
    @ApiModelProperty(hidden = true,value = "订单状态")
    private String orderState;
    @ApiModelProperty(value = "订单备注")
    private String orderRemark;
    @ApiModelProperty(hidden = true,value = "转单时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date transferTime;
    @ApiModelProperty(hidden = true,value = "转单备注")
    private String transgerRemark;
    @ApiModelProperty(hidden = true,value = "取消时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date cancelTime;
    @ApiModelProperty(hidden = true,value = "取消原因")
    private String cancelRemark;
    @ApiModelProperty(hidden = true,value = "取消来源")
    private Integer cancelFrom;
    @ApiModelProperty(hidden = true,value = "接单时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date acceptTime;
    @ApiModelProperty(hidden = true,value = "服务完成时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date servfinishTime;
    @ApiModelProperty(hidden = true,value = "被转单时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date passtransgerTime;
    @ApiModelProperty(hidden = true,value = "支付时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date payTime;

    @ApiModelProperty(hidden = true,value = "流水号")
    private String serialNumber;
    @ApiModelProperty(value = "订单退款处理状态")
    private String refundState;
    @ApiModelProperty(value = "两者之间的距离")
    private String distance;

    @ApiModelProperty(hidden = true,value = "收转人id")
    private  String transferPhyId;

    @Column(name = "app_icon")
    private String appIcon;
    @Column(name = "flag")
    private Integer flag;
}
